package com.young.ums.service;

import com.young.ums.model.SsoSecure;

import java.util.List;

/**
 * ums缓存操作
 * Created by Administrator on 2019/12/18 0018.
 */
public interface IUmsCacheService {
    /**
     * 获取sso安全验证信息
     * @param sessionId 会话id
     * @return 安全验证信息
     */
    SsoSecure getSsoSecure(String sessionId);

    /**
     * 设置安全验证信息
     * @param sessionId 会话id
     * @param ssoSecure 安全验证信息
     */
    void setSsoSecure(String sessionId, SsoSecure ssoSecure);

    /**
     * 获取账号登录失败纪录
     * @param account 账号
     * @return
     */
    List<Long> getSsoFailList(String account);

    /**
     * 设置账号登录失败纪录
     * @param account 账号
     * @param failList 失败纪录
     */
    void setSsoFailList(String account, List<Long> failList);

    /**
     * 删除失败纪录
     * @param account 账号
     */
    void removeSsoFailList(String account);

    /**
     * 冻结账号
     * @param account 账号
     * @param freezeTimestamp 冻结结束时间
     */
    void setAccountFreeze(String account, Long freezeTimestamp);

    /**
     * 获取账号冻结结束时间
     * @param account 账号
     * @return
     */
    Long getAccountFreeze(String account);

    /**
     * 删除冻结缓存
     * @param account 账号
     */
    void removeAccountFreeze(String account);

    /**
     * 查询ums配置
     * @param key 配置key
     * @return
     */
    String getUmsConfigValue(String key);

    /**
     * 缓存ums配置
     * @param key 配置key
     * @param value 配置值
     */
    void setUmsConfigValue(String key, String value);

    /**
     * 删除ums配置
     * @param key 配置key
     */
    void removeUmsConfigValue(String key);
}
